home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc / Environment Additions / Symantec / Additions / SOM (SPM) / somobj.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-10-27  |  15.0 KB  |  504 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: :SOMobjects™ for Mac OS:MPW Additions:Interfaces:CIncludes:somobj.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emith.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *      Copyright:    © 1994,1995 by Apple Computer, Inc.
  13.  *                  All rights reserved.
  14.  * 
  15.  *    10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  16.  *    All Rights Reserved
  17.  *    Licensed Materials - Property of IBM
  18.  *    US Government Users Restricted Rights - Use, duplication or
  19.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  20.  * 
  21.  *   SOMObject: System Object Model root class
  22.  */
  23.  
  24.  
  25. #ifndef SOM_SOMObject_h
  26. #define SOM_SOMObject_h
  27.  
  28.  
  29. #include <som.h>
  30.  
  31. /*
  32.  * -- This emitter treats Method Tokens as Thunks by default.
  33.  * -- Use the sc modifier "nothunks" to change this default
  34.  */
  35. #undef somresolve_
  36. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  37.  
  38. /*
  39.  * Define the class name as an object type
  40.  */
  41. #ifndef SOMObject
  42. #define SOMObject SOMObject
  43. #endif
  44.  
  45. /*
  46.  * Start of user-defined types:
  47.  */
  48. #ifndef SOMClass
  49.     #define SOMClass SOMObject
  50. #endif /* SOMClass */
  51. #ifndef SOMObject
  52.     #define SOMObject SOMObject
  53. #endif /* SOMObject */
  54.  
  55. /*
  56.  * End of user-defined types.
  57.  */
  58.  
  59. #define SOMObject_MajorVersion 70
  60. #define SOMObject_MinorVersion 1
  61.  
  62. /*
  63.  * External name shortening if required
  64.  */
  65. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  66. #define SOMObjectClassData somobd
  67. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  68. /*--------------Migration------------*/
  69.  
  70. #ifdef OLDIBMSOMAPISUPPORT
  71. #define SOMObject_classObj somNewClassReference(SOMObject)
  72. #define _SOMObject SOMObject_classObj
  73. #define SOMObjectCClassData SOMObjectClassData
  74. #define SOMObjectNewClass(major,minor) somNewVersionedClassReference(SOMObject,major,minor)
  75. #endif
  76.  
  77. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  78. #define SOMObjectMetaClass SOMClass
  79.  
  80.  
  81. /*
  82.  * Declare the class data structure
  83.  */
  84. SOMEXTERN struct SOMObjectClassDataStructure {
  85. #ifdef OLDIBMSOMAPISUPPORT
  86.     SOMAny            *classObject;    /* always zero, use somNewClassReference instead */
  87. #else
  88.     long zero;
  89. #endif
  90.     somStaticClassInfo *sci;
  91.     somDToken        instanceDataToken;
  92.     long reserved [3];
  93.     somMToken somInit;
  94.     somMToken somUninit;
  95.     somMToken somDuplicateReference;
  96.     somMToken somCompareReference;
  97.     somMToken somRelease;
  98.     somMToken somFree;
  99.     somMToken somCanDelete;
  100.     somMToken somGetClass;
  101.     somMToken somGetClassName;
  102.     somMToken somGetSize;
  103.     somMToken somIsA;
  104.     somMToken somRespondsTo;
  105.     somMToken somIsInstanceOf;
  106.     somMToken somDispatch;
  107.     somMToken somClassDispatch;
  108.     somMToken somCastObj;
  109.     somMToken somResetObj;
  110.     somMToken somDumpSelf;
  111.     somMToken somPrintSelf;
  112.     somMToken somDumpSelfInt;
  113. } SOMDLINK SOMObjectClassData;
  114.  
  115. #if !defined(SOMObject_Class_Source) && !defined(SOM_Module_somobj_Source)
  116. #if PRAGMA_IMPORT_SUPPORTED
  117. #pragma import list SOMObjectClassData
  118. #endif
  119. #endif
  120.  
  121.  
  122. /*
  123.  * New macro for SOMObject
  124.  */
  125. #define SOMObjectNew() somNewObject(SOMObject)
  126.  
  127. /*
  128.  * New Method: somInit
  129.  */
  130. typedef void   (SOMLINK *somTD_SOMObject_somInit)(SOMObject *somSelf);
  131. #define somMD_SOMObject_somInit "::SOMObject::somInit"
  132. #define SOMObject_somInit(somSelf) \
  133.     (SOM_Resolve(somSelf, SOMObject, somInit) \
  134.     (somSelf))
  135. #ifndef SOMGD_somInit
  136.     #if defined _somInit || defined __somInit
  137.         #undef _somInit
  138.         #undef __somInit
  139.         #define SOMGD_somInit 1
  140.     #else
  141.         #define _somInit SOMObject_somInit
  142.     #endif /* _somInit */
  143. #endif /* SOMGD_somInit */
  144.  
  145. /*
  146.  * New Method: somUninit
  147.  */
  148. typedef void   (SOMLINK *somTD_SOMObject_somUninit)(SOMObject *somSelf);
  149. #define somMD_SOMObject_somUninit "::SOMObject::somUninit"
  150. #define SOMObject_somUninit(somSelf) \
  151.     (SOM_Resolve(somSelf, SOMObject, somUninit) \
  152.     (somSelf))
  153. #ifndef SOMGD_somUninit
  154.     #if defined _somUninit || defined __somUninit
  155.         #undef _somUninit
  156.         #undef __somUninit
  157.         #define SOMGD_somUninit 1
  158.     #else
  159.         #define _somUninit SOMObject_somUninit
  160.     #endif /* _somUninit */
  161. #endif /* SOMGD_somUninit */
  162.  
  163. /*
  164.  * New Method: somDuplicateReference
  165.  */
  166. typedef SOMObject*   (SOMLINK *somTD_SOMObject_somDuplicateReference)(SOMObject *somSelf);
  167. #define somMD_SOMObject_somDuplicateReference "::SOMObject::somDuplicateReference"
  168. #define SOMObject_somDuplicateReference(somSelf) \
  169.     (SOM_Resolve(somSelf, SOMObject, somDuplicateReference) \
  170.     (somSelf))
  171. #ifndef SOMGD_somDuplicateReference
  172.     #if defined _somDuplicateReference || defined __somDuplicateReference
  173.         #undef _somDuplicateReference
  174.         #undef __somDuplicateReference
  175.         #define SOMGD_somDuplicateReference 1
  176.     #else
  177.         #define _somDuplicateReference SOMObject_somDuplicateReference
  178.     #endif /* _somDuplicateReference */
  179. #endif /* SOMGD_somDuplicateReference */
  180.  
  181. /*
  182.  * New Method: somCompareReference
  183.  */
  184. typedef boolean   (SOMLINK *somTD_SOMObject_somCompareReference)(SOMObject *somSelf,
  185.         SOMObject* anObject);
  186. #define somMD_SOMObject_somCompareReference "::SOMObject::somCompareReference"
  187. #define SOMObject_somCompareReference(somSelf,anObject) \
  188.     (SOM_Resolve(somSelf, SOMObject, somCompareReference) \
  189.     (somSelf,anObject))
  190. #ifndef SOMGD_somCompareReference
  191.     #if defined _somCompareReference || defined __somCompareReference
  192.         #undef _somCompareReference
  193.         #undef __somCompareReference
  194.         #define SOMGD_somCompareReference 1
  195.     #else
  196.         #define _somCompareReference SOMObject_somCompareReference
  197.     #endif /* _somCompareReference */
  198. #endif /* SOMGD_somCompareReference */
  199.  
  200. /*
  201.  * New Method: somRelease
  202.  */
  203. typedef SOMObject*   (SOMLINK *somTD_SOMObject_somRelease)(SOMObject *somSelf);
  204. #define somMD_SOMObject_somRelease "::SOMObject::somRelease"
  205. #define SOMObject_somRelease(somSelf) \
  206.     (SOM_Resolve(somSelf, SOMObject, somRelease) \
  207.     (somSelf))
  208. #ifndef SOMGD_somRelease
  209.     #if defined _somRelease || defined __somRelease
  210.         #undef _somRelease
  211.         #undef __somRelease
  212.         #define SOMGD_somRelease 1
  213.     #else
  214.         #define _somRelease SOMObject_somRelease
  215.     #endif /* _somRelease */
  216. #endif /* SOMGD_somRelease */
  217.  
  218. /*
  219.  * New Method: somFree
  220.  */
  221. typedef void   (SOMLINK *somTD_SOMObject_somFree)(SOMObject *somSelf);
  222. #define somMD_SOMObject_somFree "::SOMObject::somFree"
  223. #define SOMObject_somFree(somSelf) \
  224.     (SOM_Resolve(somSelf, SOMObject, somFree) \
  225.     (somSelf))
  226. #ifndef SOMGD_somFree
  227.     #if defined _somFree || defined __somFree
  228.         #undef _somFree
  229.         #undef __somFree
  230.         #define SOMGD_somFree 1
  231.     #else
  232.         #define _somFree SOMObject_somFree
  233.     #endif /* _somFree */
  234. #endif /* SOMGD_somFree */
  235.  
  236. /*
  237.  * New Method: somCanDelete
  238.  */
  239. typedef boolean   (SOMLINK *somTD_SOMObject_somCanDelete)(SOMObject *somSelf);
  240. #define somMD_SOMObject_somCanDelete "::SOMObject::somCanDelete"
  241. #define SOMObject_somCanDelete(somSelf) \
  242.     (SOM_Resolve(somSelf, SOMObject, somCanDelete) \
  243.     (somSelf))
  244. #ifndef SOMGD_somCanDelete
  245.     #if defined _somCanDelete || defined __somCanDelete
  246.         #undef _somCanDelete
  247.         #undef __somCanDelete
  248.         #define SOMGD_somCanDelete 1
  249.     #else
  250.         #define _somCanDelete SOMObject_somCanDelete
  251.     #endif /* _somCanDelete */
  252. #endif /* SOMGD_somCanDelete */
  253.  
  254. /*
  255.  * New Method: somGetClass
  256.  */
  257. typedef SOMClass*   (SOMLINK *somTD_SOMObject_somGetClass)(SOMObject *somSelf);
  258. #define somMD_SOMObject_somGetClass "::SOMObject::somGetClass"
  259. #define SOMObject_somGetClass(somSelf) \
  260.     (SOM_Resolve(somSelf, SOMObject, somGetClass) \
  261.     (somSelf))
  262. #ifndef SOMGD_somGetClass
  263.     #if defined _somGetClass || defined __somGetClass
  264.         #undef _somGetClass
  265.         #undef __somGetClass
  266.         #define SOMGD_somGetClass 1
  267.     #else
  268.         #define _somGetClass SOMObject_somGetClass
  269.     #endif /* _somGetClass */
  270. #endif /* SOMGD_somGetClass */
  271.  
  272. /*
  273.  * New Method: somGetClassName
  274.  */
  275. typedef corbastring   (SOMLINK *somTD_SOMObject_somGetClassName)(SOMObject *somSelf);
  276. #define somMD_SOMObject_somGetClassName "::SOMObject::somGetClassName"
  277. #define SOMObject_somGetClassName(somSelf) \
  278.     (SOM_Resolve(somSelf, SOMObject, somGetClassName) \
  279.     (somSelf))
  280. #ifndef SOMGD_somGetClassName
  281.     #if defined _somGetClassName || defined __somGetClassName
  282.         #undef _somGetClassName
  283.         #undef __somGetClassName
  284.         #define SOMGD_somGetClassName 1
  285.     #else
  286.         #define _somGetClassName SOMObject_somGetClassName
  287.     #endif /* _somGetClassName */
  288. #endif /* SOMGD_somGetClassName */
  289.  
  290. /*
  291.  * New Method: somGetSize
  292.  */
  293. typedef long   (SOMLINK *somTD_SOMObject_somGetSize)(SOMObject *somSelf);
  294. #define somMD_SOMObject_somGetSize "::SOMObject::somGetSize"
  295. #define SOMObject_somGetSize(somSelf) \
  296.     (SOM_Resolve(somSelf, SOMObject, somGetSize) \
  297.     (somSelf))
  298. #ifndef SOMGD_somGetSize
  299.     #if defined _somGetSize || defined __somGetSize
  300.         #undef _somGetSize
  301.         #undef __somGetSize
  302.         #define SOMGD_somGetSize 1
  303.     #else
  304.         #define _somGetSize SOMObject_somGetSize
  305.     #endif /* _somGetSize */
  306. #endif /* SOMGD_somGetSize */
  307.  
  308. /*
  309.  * New Method: somIsA
  310.  */
  311. typedef boolean   (SOMLINK *somTD_SOMObject_somIsA)(SOMObject *somSelf,
  312.         SOMClass* aClassObj);
  313. #define somMD_SOMObject_somIsA "::SOMObject::somIsA"
  314. #define SOMObject_somIsA(somSelf,aClassObj) \
  315.     (SOM_Resolve(somSelf, SOMObject, somIsA) \
  316.     (somSelf,aClassObj))
  317. #ifndef SOMGD_somIsA
  318.     #if defined _somIsA || defined __somIsA
  319.         #undef _somIsA
  320.         #undef __somIsA
  321.         #define SOMGD_somIsA 1
  322.     #else
  323.         #define _somIsA SOMObject_somIsA
  324.     #endif /* _somIsA */
  325. #endif /* SOMGD_somIsA */
  326.  
  327. /*
  328.  * New Method: somRespondsTo
  329.  */
  330. typedef boolean   (SOMLINK *somTD_SOMObject_somRespondsTo)(SOMObject *somSelf,
  331.         somId mId);
  332. #define somMD_SOMObject_somRespondsTo "::SOMObject::somRespondsTo"
  333. #define SOMObject_somRespondsTo(somSelf,mId) \
  334.     (SOM_Resolve(somSelf, SOMObject, somRespondsTo) \
  335.     (somSelf,mId))
  336. #ifndef SOMGD_somRespondsTo
  337.     #if defined _somRespondsTo || defined __somRespondsTo
  338.         #undef _somRespondsTo
  339.         #undef __somRespondsTo
  340.         #define SOMGD_somRespondsTo 1
  341.     #else
  342.         #define _somRespondsTo SOMObject_somRespondsTo
  343.     #endif /* _somRespondsTo */
  344. #endif /* SOMGD_somRespondsTo */
  345.  
  346. /*
  347.  * New Method: somIsInstanceOf
  348.  */
  349. typedef boolean   (SOMLINK *somTD_SOMObject_somIsInstanceOf)(SOMObject *somSelf,
  350.         SOMClass* aClassObj);
  351. #define somMD_SOMObject_somIsInstanceOf "::SOMObject::somIsInstanceOf"
  352. #define SOMObject_somIsInstanceOf(somSelf,aClassObj) \
  353.     (SOM_Resolve(somSelf, SOMObject, somIsInstanceOf) \
  354.     (somSelf,aClassObj))
  355. #ifndef SOMGD_somIsInstanceOf
  356.     #if defined _somIsInstanceOf || defined __somIsInstanceOf
  357.         #undef _somIsInstanceOf
  358.         #undef __somIsInstanceOf
  359.         #define SOMGD_somIsInstanceOf 1
  360.     #else
  361.         #define _somIsInstanceOf SOMObject_somIsInstanceOf
  362.     #endif /* _somIsInstanceOf */
  363. #endif /* SOMGD_somIsInstanceOf */
  364.  
  365. /*
  366.  * New Method: somDispatch
  367.  */
  368. typedef boolean   (SOMLINK *somTD_SOMObject_somDispatch)(SOMObject *somSelf,
  369.         somToken* retValue,
  370.         somId methodId,
  371.         va_list ap);
  372. #define somMD_SOMObject_somDispatch "::SOMObject::somDispatch"
  373. #define SOMObject_somDispatch(somSelf,retValue,methodId,ap) \
  374.     (SOM_Resolve(somSelf, SOMObject, somDispatch) \
  375.     (somSelf,retValue,methodId,ap))
  376. #ifndef SOMGD_somDispatch
  377.     #if defined _somDispatch || defined __somDispatch
  378.         #undef _somDispatch
  379.         #undef __somDispatch
  380.         #define SOMGD_somDispatch 1
  381.     #else
  382.         #define _somDispatch SOMObject_somDispatch
  383.     #endif /* _somDispatch */
  384. #endif /* SOMGD_somDispatch */
  385.  
  386. /*
  387.  * New Method: somClassDispatch
  388.  */
  389. typedef boolean   (SOMLINK *somTD_SOMObject_somClassDispatch)(SOMObject *somSelf,
  390.         SOMClass* clsObj,
  391.         somToken* retValue,
  392.         somId methodId,
  393.         va_list ap);
  394. #define somMD_SOMObject_somClassDispatch "::SOMObject::somClassDispatch"
  395. #define SOMObject_somClassDispatch(somSelf,clsObj,retValue,methodId,ap) \
  396.     (SOM_Resolve(somSelf, SOMObject, somClassDispatch) \
  397.     (somSelf,clsObj,retValue,methodId,ap))
  398. #ifndef SOMGD_somClassDispatch
  399.     #if defined _somClassDispatch || defined __somClassDispatch
  400.         #undef _somClassDispatch
  401.         #undef __somClassDispatch
  402.         #define SOMGD_somClassDispatch 1
  403.     #else
  404.         #define _somClassDispatch SOMObject_somClassDispatch
  405.     #endif /* _somClassDispatch */
  406. #endif /* SOMGD_somClassDispatch */
  407.  
  408. /*
  409.  * New Method: somCastObj
  410.  */
  411. typedef boolean   (SOMLINK *somTD_SOMObject_somCastObj)(SOMObject *somSelf,
  412.         SOMClass* cls);
  413. #define somMD_SOMObject_somCastObj "::SOMObject::somCastObj"
  414. #define SOMObject_somCastObj(somSelf,cls) \
  415.     (SOM_Resolve(somSelf, SOMObject, somCastObj) \
  416.     (somSelf,cls))
  417. #ifndef SOMGD_somCastObj
  418.     #if defined _somCastObj || defined __somCastObj
  419.         #undef _somCastObj
  420.         #undef __somCastObj
  421.         #define SOMGD_somCastObj 1
  422.     #else
  423.         #define _somCastObj SOMObject_somCastObj
  424.     #endif /* _somCastObj */
  425. #endif /* SOMGD_somCastObj */
  426.  
  427. /*
  428.  * New Method: somResetObj
  429.  */
  430. typedef boolean   (SOMLINK *somTD_SOMObject_somResetObj)(SOMObject *somSelf);
  431. #define somMD_SOMObject_somResetObj "::SOMObject::somResetObj"
  432. #define SOMObject_somResetObj(somSelf) \
  433.     (SOM_Resolve(somSelf, SOMObject, somResetObj) \
  434.     (somSelf))
  435. #ifndef SOMGD_somResetObj
  436.     #if defined _somResetObj || defined __somResetObj
  437.         #undef _somResetObj
  438.         #undef __somResetObj
  439.         #define SOMGD_somResetObj 1
  440.     #else
  441.         #define _somResetObj SOMObject_somResetObj
  442.     #endif /* _somResetObj */
  443. #endif /* SOMGD_somResetObj */
  444.  
  445. /*
  446.  * New Method: somPrintSelf
  447.  */
  448. typedef SOMObject*   (SOMLINK *somTD_SOMObject_somPrintSelf)(SOMObject *somSelf);
  449. #define somMD_SOMObject_somPrintSelf "::SOMObject::somPrintSelf"
  450. #define SOMObject_somPrintSelf(somSelf) \
  451.     (SOM_Resolve(somSelf, SOMObject, somPrintSelf) \
  452.     (somSelf))
  453. #ifndef SOMGD_somPrintSelf
  454.     #if defined _somPrintSelf || defined __somPrintSelf
  455.         #undef _somPrintSelf
  456.         #undef __somPrintSelf
  457.         #define SOMGD_somPrintSelf 1
  458.     #else
  459.         #define _somPrintSelf SOMObject_somPrintSelf
  460.     #endif /* _somPrintSelf */
  461. #endif /* SOMGD_somPrintSelf */
  462.  
  463. /*
  464.  * New Method: somDumpSelf
  465.  */
  466. typedef void   (SOMLINK *somTD_SOMObject_somDumpSelf)(SOMObject *somSelf,
  467.         long level);
  468. #define somMD_SOMObject_somDumpSelf "::SOMObject::somDumpSelf"
  469. #define SOMObject_somDumpSelf(somSelf,level) \
  470.     (SOM_Resolve(somSelf, SOMObject, somDumpSelf) \
  471.     (somSelf,level))
  472. #ifndef SOMGD_somDumpSelf
  473.     #if defined _somDumpSelf || defined __somDumpSelf
  474.         #undef _somDumpSelf
  475.         #undef __somDumpSelf
  476.         #define SOMGD_somDumpSelf 1
  477.     #else
  478.         #define _somDumpSelf SOMObject_somDumpSelf
  479.     #endif /* _somDumpSelf */
  480. #endif /* SOMGD_somDumpSelf */
  481.  
  482. /*
  483.  * New Method: somDumpSelfInt
  484.  */
  485. typedef void   (SOMLINK *somTD_SOMObject_somDumpSelfInt)(SOMObject *somSelf,
  486.         long level);
  487. #define somMD_SOMObject_somDumpSelfInt "::SOMObject::somDumpSelfInt"
  488. #define SOMObject_somDumpSelfInt(somSelf,level) \
  489.     (SOM_Resolve(somSelf, SOMObject, somDumpSelfInt) \
  490.     (somSelf,level))
  491. #ifndef SOMGD_somDumpSelfInt
  492.     #if defined _somDumpSelfInt || defined __somDumpSelfInt
  493.         #undef _somDumpSelfInt
  494.         #undef __somDumpSelfInt
  495.         #define SOMGD_somDumpSelfInt 1
  496.     #else
  497.         #define _somDumpSelfInt SOMObject_somDumpSelfInt
  498.     #endif /* _somDumpSelfInt */
  499. #endif /* SOMGD_somDumpSelfInt */
  500. #ifndef SOM_DONT_USE_INHERITED_MACROS
  501. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  502.  
  503. #endif       /* SOM_SOMObject_h */
  504.